package cn.com.taiji.oospub.wechat.common.wxpay.pay;

import org.springframework.beans.factory.annotation.Value;


/**
 * User: rizenguo
 * Date: 2014/10/29
 * Time: 14:40
 * 这里放置各种配置数据
 */
public class Configure {
    //这个就是自己要保管好的私有Key了（切记只能放在自己的后台代码里，不能放在任何可能被看到源代码的客户端程序中）
	// 每次自己Post数据给API的时候都要用这个key来对所有字段进行签名，生成的签名会放在Sign这个字段，API收到Post数据的时候也会用同样的签名算法对Post过来的数据进行签名和验证
	// 收到API的返回的时候也要用这个key来对返回的数据算下签名，跟API的Sign数据进行比较，如果值不一致，有可能数据被第三方给篡改
	public static String TradeType_GZH = "JSAPI";
	
	
	//------------------健康信息--------------
	@Value("${key}")
	public  String key ;

	//微信分配的公众号ID（开通公众号之后可以获取到）
	@Value("${appID}")
	public  String appID ;
	@Value("${appsecret}")
	public  String appsecret;
	//微信支付分配的商户号ID（开通公众号的微信支付功能之后可以获取到）
	@Value("${mchID}")
	public  String mchID;
	//订单提醒
	@Value("${Template_id}")
	public  String Template_id;
	//退款通知
	@Value("${Template_tuiKun_id}")
	public  String Template_tuiKun_id;
	//预订提醒通知
	@Value("${Template_jieCan_id}")
	public  String Template_jieCan_id;
	//取餐通知
	@Value("${Template_quCan_id}")
	public  String Template_quCan_id;
	//消费通知
	@Value("${Template_xiaoFeiTongZhi_id}")
	public  String Template_xiaoFeiTongZhi_id;
	//订单支付成功通知
	@Value("${Template_dingDangZhifu_id}")
	public  String Template_dingDangZhifu_id;
	//京西--余额不足
	@Value("${Template_yuebuzu_id}")
	public  String Template_yuebuzu_id;
	
	
	
	//受理模式下给子商户分配的子商户号
	private static String subMchID = "";

	//HTTPS证书的本地路径
	private static String certLocalPath = "";

	//HTTPS证书密码，默认密码等于商户号MCHID
	private static String certPassword = "";

	//是否使用异步线程的方式来上报API测速，默认为异步模式
	private static boolean useThreadToDoReport = true;

	//机器IP
	private static String ip = "";
	
	
	public final static String language_CN = "zh_CN";
	
	public final static String language_TW = "zh_TW";
	
	public final static String language_en = "en";
	
	
	//消息模板id   

	//以下是几个API的路径：
	//1）被扫支付API
//	public static String PAY_API = "https://api.mch.weixin.qq.com/pay/micropay";
	public static String PAY_API = "https://api.mch.weixin.qq.com/pay/unifiedorder";
//	沙箱
//	public static String PAY_API = "https://api.mch.weixin.qq.com/sandboxnew/pay/unifiedorder";

	//2）被扫支付查询API
	public static String PAY_QUERY_API = "https://api.mch.weixin.qq.com/pay/orderquery";

	//3）退款API
	public static String REFUND_API = "https://api.mch.weixin.qq.com/secapi/pay/refund";

	//4）退款查询API
	public static String REFUND_QUERY_API = "https://api.mch.weixin.qq.com/pay/refundquery";

	//5）撤销API
	public static String REVERSE_API = "https://api.mch.weixin.qq.com/secapi/pay/reverse";

	//6）下载对账单API
	public static String DOWNLOAD_BILL_API = "https://api.mch.weixin.qq.com/pay/downloadbill";

	//7) 统计上报API
	public static String REPORT_API = "https://api.mch.weixin.qq.com/payitil/report";

	//8) 模板发送API_orderSend类使用
	public final static String SEND_TEMPLAYE_MESSAGE_URL = "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=ACCESS_TOKEN";  
	
	//9) 普通access_token
	public final static  String requestUrl = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET";
   
	
	public final static String requestAccessTokenUrl = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=%s&secret=%s";
	
	//10)网页授权access_token
	public final static String requestMemInfoAccessToken = "https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code";
	//11)网页授权获取个人信息
	public final static String requestgetMemInfo = "https://api.weixin.qq.com/sns/userinfo?access_token=ACCESS_TOKEN&openid=OPENID";
	//12)获取临时素材
	public final static String requestGetMidia = "https://api.weixin.qq.com/cgi-bin/media/get?access_token=ACCESS_TOKEN&media_id=MEDIA_ID";
	
	public final static String requestGetMidia2 = "https://api.weixin.qq.com/cgi-bin/media/get?access_token=%s&media_id=%s";
	
	public final static String requestGetMidia_Video = "http://api.weixin.qq.com/cgi-bin/media/get?access_token=%s&media_id=%s";
	
	public final static String requestJsapiTicketUrl = "https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token=ACCESS_TOKEN&type=jsapi";
	
	
	public final static String requestGetMemberInfo = "https://api.weixin.qq.com/cgi-bin/user/info?access_token=ACCESS_TOKEN&openid=OPENID&lang=zh_CN";
	
	
	
	
	
	
	public static boolean isUseThreadToDoReport() {
		return useThreadToDoReport;
	}

	public static void setUseThreadToDoReport(boolean useThreadToDoReport) {
		Configure.useThreadToDoReport = useThreadToDoReport;
	}

	public static String HttpsRequestClassName = "com.tencent.common.HttpsRequest";

	

	public static void setSubMchID(String subMchID) {
		Configure.subMchID = subMchID;
	}

	public static void setCertLocalPath(String certLocalPath) {
		Configure.certLocalPath = certLocalPath;
	}

	public static void setCertPassword(String certPassword) {
		Configure.certPassword = certPassword;
	}

	public static void setIp(String ip) {
		Configure.ip = ip;
	}

	

	public static String getSubMchid(){
		return subMchID;
	}
	
	public static String getCertLocalPath(){
		return certLocalPath;
	}
	
	public static String getCertPassword(){
		return certPassword;
	}

	public static String getIP(){
		return ip;
	}

	public static void setHttpsRequestClassName(String name){
		HttpsRequestClassName = name;
	}

	

}
